Atlas 由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发、快速迭代和动态部署,适用于 Android 4.x 以上系统版本的大小型 App 开发。

该框架于2017年3月13日正式开源,源码:alibaba/atlas

开发者指南(视频教程):开源Android容器化框架Atlas开发者指南

项目背景

随着手机淘宝业务的快速增长,协作研发团队的不断扩大,技术也面临着更多挑战:

• 一方面代码量快速上升导致方法过多,限制打包的正常输出

• 另一个方面各业务线的开发和集成都需要到一个 apk上,业务间相互耦合严重,集成开发工作效率低下

这个大背景下,急需要做一次从构建、集成、交付的技术改造, 于是Atlas作为手淘运行的容器诞生了,它灵活的解决了各个业务开发期间的相互独立解耦,而且提供了各个模块线上独立动态能力。

Atlas特性

Atlas 适用于大规模团队的协同开发。通过提供组件化、动态性、解耦化的支持,Atlas 能够实现每个业务在开发阶段独立编译、独立调试、独立运行,最后再以一个组件的形式集成到客户端中,每个业务之间并行开发互不影响。此外,还具备客户端动态发版和快速修复的能力。

与业内的一些组件化框架方案对比,Atlas 的优势是遵循安卓系统的设计规范,保持 Android 开发人员的开发习惯,通过反射和轻量的 hook 方案来实现模块的组件化,从而减少适配成本,并将大量的工作放到了编译期,提高稳定性。